home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / zhbgst.z / zhbgst
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZHHHHBBBBGGGGSSSSTTTT((((3333FFFF))))                                                          ZZZZHHHHBBBBGGGGSSSSTTTT((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZHBGST - reduce a complex Hermitian-definite banded generalized
  10.      eigenproblem A*x = lambda*B*x to standard form C*y = lambda*y,
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE ZHBGST( VECT, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, X, LDX,
  14.                         WORK, RWORK, INFO )
  15.  
  16.          CHARACTER      UPLO, VECT
  17.  
  18.          INTEGER        INFO, KA, KB, LDAB, LDBB, LDX, N
  19.  
  20.          DOUBLE         PRECISION RWORK( * )
  21.  
  22.          COMPLEX*16     AB( LDAB, * ), BB( LDBB, * ), WORK( * ), X( LDX, * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      ZHBGST reduces a complex Hermitian-definite banded generalized
  26.      eigenproblem  A*x = lambda*B*x  to standard form  C*y = lambda*y, such
  27.      that C has the same bandwidth as A.
  28.  
  29.      B must have been previously factorized as S**H*S by ZPBSTF, using a split
  30.      Cholesky factorization. A is overwritten by C = X**H*A*X, where X =
  31.      S**(-1)*Q and Q is a unitary matrix chosen to preserve the bandwidth of
  32.      A.
  33.  
  34.  
  35. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  36.      VECT    (input) CHARACTER*1
  37.              = 'N':  do not form the transformation matrix X;
  38.              = 'V':  form X.
  39.  
  40.      UPLO    (input) CHARACTER*1
  41.              = 'U':  Upper triangle of A is stored;
  42.              = 'L':  Lower triangle of A is stored.
  43.  
  44.      N       (input) INTEGER
  45.              The order of the matrices A and B.  N >= 0.
  46.  
  47.      KA      (input) INTEGER
  48.              The number of superdiagonals of the matrix A if UPLO = 'U', or
  49.              the number of subdiagonals if UPLO = 'L'.  KA >= 0.
  50.  
  51.      KB      (input) INTEGER
  52.              The number of superdiagonals of the matrix B if UPLO = 'U', or
  53.              the number of subdiagonals if UPLO = 'L'.  KA >= KB >= 0.
  54.  
  55.      AB      (input/output) COMPLEX*16 array, dimension (LDAB,N)
  56.              On entry, the upper or lower triangle of the Hermitian band
  57.              matrix A, stored in the first ka+1 rows of the array.  The j-th
  58.              column of A is stored in the j-th column of the array AB as
  59.              follows:  if UPLO = 'U', AB(ka+1+i-j,j) = A(i,j) for max(1,j-
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZHHHHBBBBGGGGSSSSTTTT((((3333FFFF))))                                                          ZZZZHHHHBBBBGGGGSSSSTTTT((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              ka)<=i<=j; if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for
  75.              j<=i<=min(n,j+ka).
  76.  
  77.              On exit, the transformed matrix X**H*A*X, stored in the same
  78.              format as A.
  79.  
  80.      LDAB    (input) INTEGER
  81.              The leading dimension of the array AB.  LDAB >= KA+1.
  82.  
  83.      BB      (input) COMPLEX*16 array, dimension (LDBB,N)
  84.              The banded factor S from the split Cholesky factorization of B,
  85.              as returned by ZPBSTF, stored in the first kb+1 rows of the
  86.              array.
  87.  
  88.      LDBB    (input) INTEGER
  89.              The leading dimension of the array BB.  LDBB >= KB+1.
  90.  
  91.      X       (output) COMPLEX*16 array, dimension (LDX,N)
  92.              If VECT = 'V', the n-by-n matrix X.  If VECT = 'N', the array X
  93.              is not referenced.
  94.  
  95.      LDX     (input) INTEGER
  96.              The leading dimension of the array X.  LDX >= max(1,N) if VECT =
  97.              'V'; LDX >= 1 otherwise.
  98.  
  99.      WORK    (workspace) COMPLEX*16 array, dimension (N)
  100.  
  101.      RWORK   (workspace) DOUBLE PRECISION array, dimension (N)
  102.  
  103.      INFO    (output) INTEGER
  104.              = 0:  successful exit
  105.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.